<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>

</body>
<script>
//登录页面
// 在页面当中,通过await保证 请求成功然后才能跳转
async function handleLogin(){
  //发请求
  await userlogin()
  console.log('跳转到首页')
}
//vuex的user模块 调用action方法 拿到token
async function userlogin(){
  let token = await login()
  console.log('token', token)
}
//api的user文件 发送请求 传递参数
function login(data){
  return request({
    method: "post",
    url: '/login',
    data
  })
}
//axios的request文件
function request(){
  return new Promise((resolve, reject)=>{
    //异步代码
    setTimeout(()=>{
      resolve(interceptorsResponse())
    }, 500)
  })
}
//request的响应拦截器
function interceptorsResponse(response){
  //成功
  // return '123456'
  //失败
  console.log('产生了错误,提示用户');
  // 产生一个错误
  // 方式1: reject(放弃,没有reject传进来)
  // 方式2: throw 一个错误
  throw new Error
  // 在响应拦截器中,通过throw产生错误,阻止页面跳转到首页(类属于一个冒泡)
}
handleLogin()
</script>
</html>
